如果老師叫你用 python 計算出 1 到 10 所有整數的總和,大部分的人應該都會選擇慢慢加來取得答案,但如果老師叫你算出 1 到 1000 的所有整數總和呢?如果你還是選擇慢慢加,應該可以在漫長的過程中觀察到你一直在重複類似的加法動作,這時後 for 迴圈就派上用場了!
這是 for 迴圈的基本架構
for Var in iterableobject :
suite
for 和 in 是 Python 的關鍵字,兩者之間可以放置使用者自訂的變數,而 in 後則可接一個序列 (Sequence),串列 (list)、字串 (str)、元組 (tuple) 等皆是序列的一種。
迴圈會依序從序列取得元素,並將元素指定給前面自訂的變數,再執行迴圈裡的內容,直到序列每一元素都被取出過為止。
先試著用 for 迴圈寫出一段計算整數總和的程式碼
因為上次介紹到 Repl.it 這個網站,今天就試著用這個網站來實作,用起來發現在目前程式碼不複雜的情況下,對我這初學者來說和 IDLE 是沒有什麼差別。
這邊大家可以看到我在 for 迴圈基本架構上進行了一點更動。因為是要算出整數總和所以我使用了range()函數來進行選取的動作,一開始我用變數 add 來存放輸入的 int 數字,我輸入了 4 所以 range (0, 4) 也就是 range(4) 裡面就放了從 0 到 3 的整數,知道這些之後就來看看整個迴圈運作流程。
首先 n = n + add + 1(第一個取出的add為0)結果的 n 為 1
再來因為 range()裡面還有資料所以再回去取得 add = 1 ,因此 n += add + 1 會等於 1 += 1 + 1 等於 3 ,以此類推,因為 add 可以取得 0 到 3 一共 4 個整數,所以印出來的結果會有 4 個。但是我們只要取得最後一個值 10 而已,我們可以發現 print 在縮排上是包含在 for 迴圈裡的,所以我們只要把它整個往前移一個跳出迴圈就可以印出最終的 n 的值了
既然你能用 for 迴圈寫出這段計算總合的程式碼了,數字再大也難不倒你了吧。